Android ConnectionService 来电
全部标签 我正在开发一个应用程序,我必须在其中覆盖传入调用屏幕。当设备接到电话时,我必须显示我的应用程序的弹出窗口。我对这个任务做了详细的研究。CALLPOPOUT是一个使用相同功能的应用程序,但我没有获得源代码。目前我有几个模块可以用来获取INCOMINGCALL的Action。publicclassMyPhonestateListnerextendsPhoneStateListener{Contextcontext;ListblockedNumberList=newArrayList();BlockDataSourcedatasourceobj;publicMyPhonestateListn
现在怎么样了很多问题都讨论过这个问题,但都没有提供好的解决方案。事情看起来很简单,有了BroadcastReceiver之后真的很容易拦截和阻止调用。出现的主要问题是默认的Android来电屏幕。您知道,带有用于接听/结束通话的slider的那个。因为我有一些规则来阻止调用,所以在调用挂断之前会有一小段延迟。在此期间,来电屏幕一直处于Activity状态。我希望事情变成这样我希望用户不会收到此调用阻塞的通知,因为在我的应用程序中,我有所有已完成阻塞的清晰日志。因此,主要问题仍然存在:如何阻止来电屏幕启动? 最佳答案 完全阻止调用
我正在设计一个应用程序,在该应用程序中,我需要区分被接听者拒绝(通过按下拨号按钮)的调用与未接听并被拨号者断开连接的调用。由于这两个都属于Android中的未接来电类别,有什么区别吗? 最佳答案 您缺少一些细节;请指教。您指的是调用日志提供程序android.provider.CallLog.Calls吗?只定义了3种调用类型。你能提供这样一个调用日志条目的所有字段的数据吗?唯一的(我们知道的)判断方式是观察电话状态(通过IntentReceiver)并自行跟踪转换。最有可能的是,从振铃到空闲的转变表示调用被拒绝而不是接听,在这种情
您好,我想知道是否有办法覆盖来电屏幕以向其添加更多功能?如果可以,您能否为我指出正确的方向或提供一些示例代码?-----------------------------------------------编辑:----------------------------来电时我的接收器工作正常,但我如何让当前窗口覆盖调用屏幕?这是我到目前为止得到的...但是我得到一个classCastException试图从上下文转换为Activity,我想不出任何其他方法来访问窗口。@OverridepublicvoidonReceive(Contextcontext,Intentintent){Bun
我正在尝试在Android上实现iOScallkit行为。我收到来自firebase的推送通知,我想向用户显示“来电”屏幕。为此,我使用了android.telecom包和其他类中的ConnectionService。这是我的调用管理器类:classCallManager(context:Context){valtelecomManager:TelecomManagervarphoneAccountHandle:PhoneAccountHandlevarcontext:Contextvalnumber="3924823202"init{telecomManager=context.ge
我正在尝试在android中制作一个新的来电屏幕,当我接到来电时,我的应用程序启动-但立即崩溃,并且出现默认的来电屏幕。我做错了什么?我的代码:AndroidManifest.xml:MyPhoneBroadcastReceiver.java:packagecom.example.myfirstapp;importandroid.app.Activity;importandroid.content.Context;importandroid.content.Intent;publicclassMyPhoneBroadcastReceiverextendsActivity{publicv
现在是否有可能,我们可以开发一个Android应用程序,其工作步骤具有以下要求自动接听电话,然后向来电者播放一些声音,等待DTMF响应,然后录制来电者的声音(在他们允许的情况下,按1作为DTMF响应)被叫方可以稍后播放录制的声音。提前感谢所有的回答..... 最佳答案 嘿,我也在制作相同的应用程序...要自动接听电话,您需要更改android的源代码。我已经用froyo2.2成功完成了。PhoneUtils.java文件中有answerCall(Phonephone)方法可以自动接听电话。我也在搜索DTMF....但直到现在我还没有
我想在来电时关闭设备振动设置。我已经为此功能实现了BroadcastReceiver,它执行接收PHONE_STATE广播的操作。问题是我根本无法关闭振动。我尝试了以下方法:AudioManageraudioManager=(AudioManager)context.getSystemService(Context.AUDIO_SERVICE);audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,AudioManager.VIBRATE_SETTING_OFF);或Vibratorvib=(Vibrator)c
有什么方法可以在没有root权限的情况下以编程方式接听Android6.0中的来电?我尝试了以下方法:TheinternalITelephony.aidlmethod-这样我就可以结束通话了。但是接听电话需要android.permission.MODIFY_PHONE_STATE,Android6.0中没有提供给第3方应用。TheHeadsetKeyCodeIntentMethod.这似乎根本行不通。 最佳答案 希望这对某些人有所帮助:)publicvoidacceptCall(){if(Build.VERSION.SDK_INT
我知道我们可以通过带有过滤器的广播接收器来监听电话状态actionandroid:name="android.intent.action.PHONE_STATE"但是这种方式需要权限uses-permissionandroid:name="android.permission.READ_PHONE_STATE"如何在没有此权限的情况下确定传入的GSM调用?附言我确定这可能是因为Whatsapp在做。当我在Whatsapp音频通话中通话,然后收到gsm来电时-whatsapp检查它并将self通话设置为暂停。他们如何理解需要设置暂停?Whatsapp在Manifest文件中有READ_P